package com.msteam.extra.generator;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import lombok.jfinal.kit.EnjoyGenerator;
import lombok.jfinal.kit.generator.EnjoyGeneratorSetting;
import lombok.jfinal.kit.generator.IParser;

public class MyJpaGenerator {

	public static void main(String[] args) {
		EnjoyGeneratorSetting setting = new EnjoyGeneratorSetting();
		
		// 共享对象（直接在Enjoy模版中使用）
		Map<String,Object> shareObjs = new HashMap<String,Object>();
		// shareObjs.put(.....);
		setting.setEnjoyShareObjects(shareObjs);
		
		// 定义要扫描model类型的哪些注解
		Map<String,Class<?>> typeAnnos = new HashMap<String,Class<?>>();
		typeAnnos.put("title", Display.class); // 在enjoy模版中通过 entity.getA('title').value() 调用，获得注解数据
		setting.setTypeAnnotationMapping(typeAnnos);
		
		// 定义要扫描字段的哪些注解
		Map<String,Class<?>> fieldAnnos = new HashMap<String,Class<?>>();
		fieldAnnos.put("title", Display.class);  // 在enjoy模版中通过 field.getA('title').value() 调用，获得注解数据
		setting.setFieldAnnotationMapping(fieldAnnos);

		//解析器 解析器负责获取模版内容和输出生成后的数据
		List<IParser> parsers = new ArrayList<IParser>();
		parsers.add(new TestParser()); 
		setting.setParsers(parsers);
		
		EnjoyGenerator gen = new EnjoyGenerator(setting);
		gen.run();
	}
}
